В Windows XP имеется так называемая консоль - программа cmd.exe, которая является командным интерпретатором. При простом запуске, без указания параметров командной строки, консоль отображает версию операционной системы, информацию о защите авторских прав разработчиков ОС и саму командную строку, в которой можно ввести как параметр командной строки самой программы cmd.exe, так и любую внешнюю команду, например, команду на запуск другого приложения или стандартную команду, типа mkdir, del и т. п.
Синтаксис для командной строки:
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] команда]
Можно использовать одновременно несколько команд, используя между ними специальный разделитель - символы &&, при этом все сочетание нескольких команд должно быть заключено в кавычки, например, "команда&&команда&& команда".
/? - вызов справки
/A - вывод результатов выполнения заданной команды в формате ANSI
/C - выполнение заданной команды с последующим закрытием окна консоли
/D - отключение выполнения команд AutoRun (которые первыми автоматически выполняются при вызове cmd.exe), заданных в специальных разделах реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun и HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
/E:ON (/E:OFF) - разрешение (запрет) расширений команд. В Windows XP по умолчанию включена расширенная обработка всех команд cmd.exe, этот параметр служит для включения / выключения расширений конкретного процесса. Расширенная обработка включает
следующие команды: assoc, call, chdir (cd), color, del (erase), endlocal,
for, ftype, goto, if, mkdir (md), popd, prompt, pushd, set, setlocal,
shift, start (изменен также вызов внешних команд)
/F:ON (/F:OFF) - разрешение (запрет) завершения имен файлов и папок (по умолчанию выключено) конкретного вызова cmd.exe. Довольно удобная функция, позволяющая не вводить полностью вручную в окне консоли пути к файлам или имена самих папок, а ввести только часть длинного пути и с помощью нажатия специальной комбинации клавиш дать операционной системе найти подходящие
варианты и просто выбрать нужный. Если необходимо включить или отключить завершение имен для всех вызовов cmd.exe, то в разделах реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor (для локальной
машины), HKEY_CURRENT_USER\Software\Microsoft\Command Processor (для
текущего пользователя) установите параметры (приведены значения по умолчанию): "CompletionChar"=dword:00000040 "PathCompletionChar"=dword:00000040
таким образом, чтобы их шестнадцатеричные значения соответствовали коду
управляющего символа, используемого для конкретной функции (например, 0 x 4
для Ctrl+D или 0 x 6 для Ctrl+F). Это позволяет сделать известная утилита
TweakUI. Параметры пользователя имеют приоритет над параметрами компьютера,
значение параметра /F командного процессора имеет приоритет над параметрами
реестра. Microsoft вносит некоторые разъяснения по поводу использования
этой функции: "Если завершение включено с помощью ключа командной строки /
F:ON, то используются два управляющих символа: Ctrl+D для имен папок и
Ctrl+F для имен файлов. Чтобы отключить конкретный символ завершения в
системном реестре, в качестве кода специального символа используется
шестнадцатеричное значение символа пробела (0 x 20). Завершение вызывается
при вводе одного из этих двух специальных символов. Функция завершения
берет строку пути слева от точки ввода, дописывает к ней символ шаблона,
если таковой отсутствует, а затем строит список путей, которые
соответствуют полученному определению. После этого выводится первый элемент
этого списка соответствующих путей. Если же список пуст, то подается
звуковой сигнал, и ничего не выводится. После этого повторный ввод того же
самого специального символа приводит к циклическому перебору всех
соответствующих путей. Нажатие клавиши Shift при вводе управляющего символа
позволяет просматривать список путей в обратном порядке. Если изменить
выведенный путь, а затем снова ввести управляющий символ, сохраненный
список очищается, и строится новый список путей. То же самое происходит,
если переключиться с одного символа завершения на другой. Единственное отли
чие при использовании символа завершения файла состоит в том, что при этом
для построения списка соответствия берется и путь, и имя файла, а при
использовании символа завершения папки - только путь. Если символ
завершения используется в одной из встроенных команд манипулирования
папками (CD, MD или RD), то всегда подразумевается символ завершения папок.
Символ завершения правильно работает и с именами файлов, содержащими
пробелы или иные специальные символы, если при этом строка соответствия
заключена в кавычки. Кроме того, если сместить точку ввода влево, а затем
использовать символ завершения внутри строки, оставшийся справа от точки
ввода текст будет отброшен. Специальные символы, которые требуют
обязательного заключения в кавычки: <пробел>&()[]{}^=;!'+,~". Все понятно?
/K - выполнение заданной команды без последующего завершения (окно консоли
не закроется)
/Q - отключение вывода команд на экран (ECHO OFF).
/R - аналогичен параметру /C
/S - изменение поведения команды после /C или /K
/T:цвет - задание цвета текста и фона окна консоли. Параметр цвет имеет значение в виде двух шестнадцатеричных чисел: первое определяет цвет фона окна, а второе - текста в окне. То есть результатом выполнения команды "CMD /T:7С" будут
светло-красные буквы на белом фоне.
/U - вывод результатов выполнения команды в формате Unicode
/V:ON (/V:OFF) - разрешение (запрет) отложенного расширения переменных
среды (для конкретного вызова cmd.exe) с применением восклицательного знака "!" в качестве разделителя. Например, /V:ON разрешает использовать !var! в
качестве расширения переменной var во время выполнения. Синтаксис var
служит для расширения переменных при вводе, что приводит совсем к другим
результатам внутри цикла FOR. При включенном отложенном расширении переменных среды символ "!" (восклицательный
знак) может использоваться для замены текущего значения переменной среды во
время выполнения; /X - означает то же, что и ключ /E:ON, из соображений
совместимости; /Y то же, что и /E:OFF.
И еще несколько замечаний. Если указаны ключи /C или /K, то остальная часть
командной строки после такого ключа обрабатывается как командная строка, а
обработка символов кавычек (") ведется таким образом. Символы кавычек в
командной строке сохраняются, если выполняются все перечисленные ниже
условия:
ключ /S отсутствует;
есть ровно два символа кавычек;
между ними нет других специальных символов, как то: &<>()@^|;
между ними имеются один или несколько пробелов;
строка, заключенная в кавычки, является именем исполняемого файла.
В противном случае проверяется первый символ, и если он является символом
кавычек, то он удаляется, также удаляется последний символ кавычек в
командной строке, а весь текст после этого последнего символа кавычек
сохраняется.
Таблица для задания цвета текста и фона окна консоли
| 0 - черный | 1 - синий | 2 - зеленый | 3 - голубой |
| 4 - красный | 5 - лиловый | 6 - желтый | 7 - белый |
| 8 - серый | 9 - светло-синий | A - светло-зеленый | B - светло-голубой |
| C - светло-красный | D - светло-лиловый | E - светло-желтый | F - ярко-белый |
TITLE - для изменения заголовка строки
TITLE [строка], где строка - это будущий заголовок окна командной строки (записывается без кавычек). После задания заголовка окна он может быть
изменен только повторным вызовом команды TITLE. Использование данной команды может быть полезно в командных файлах. Так, выполнение примера, который приведен ниже, будет сопровождаться появлением соответствующей надписи в заголовке окна:
@ECHO OFF TITLE Копируются файлы... COPY \\Server\Share\*.doc C:\User\Common\*.doc ECHO Копирование закончено. TITLE Процесс завершен
Команда АТ - С помощью этой команды можно запускать команды и программы в определенное время.
AT [\\имя компьютера] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\имя компьютера] time [/INTERACTIVE] [ /EVERY:дата[,...] | /NEXT:дата [,...]] "команда"
\\имя компьютера указывает на удаленный компьютер, на котором могут быть запущены планируемые задачи. Если этот параметр не указан, то по умолчанию предполагается тот компьютер, на котором запускается команда АТ;
id идентификатор, назначенный указанной команде;
/delete отменяет намеченную команду. Если id опущен, все назначенные команды на компьютере отменены;
/yes этот параметр в случае использования с предыдущим параметром (/delete) автоматически включает подтверждение для всех запросов;
time время выполнения команды (в 24-часовом формате часы:минуты);
/interactive позволяет команде AT обмениваться с подключенными на данный момент в системе пользователями;
/every:дата[,...] выполняет команду в каждый указанный день (дни) недели или месяц. Если дата опущена, подразумевается текущий день месяца;
/next:дата[...] выполняет указанную команду при следующем наступлении указанной даты (например, в следующий четверг). Если дата не указанна, по умолчанию принимается текущий день месяца;
"команда" указывается команда Windows NT или пакетная программа, которая будет выполнена. Имя файла должно указываться полностью. При этом, если выполняется какая-либо из внутренних команд, например, COPY или DIR, а не исполняемый файл, то необходим запуск командного интерпретатора с ключом /
С, например: AT 10:00 "CMD /C DIR > C:\test.out.